<?php


namespace app\api\model;


use think\Db;
use think\Model;

class Banner extends Base
{
    // 设置查询时需要隐藏不显示的字段
    protected $hidden = ['delete_time', 'update_time'];

    /**
     * 因为banner和banner_item是一对多的关联关系，关联ID是banner_id
     * @return \think\model\relation\HasMany
     */
    public function items()
    {
        // 一个 Banner 拥有多个 BannerItem，并且是通过id和banner_id关联起来的
        return $this->hasMany('BannerItem', 'banner_id', 'id');
    }

    public static function getBannerByID($id)
    {
        // 数据库操作的三个方式：
        //1.SQl直接操作
//        $result = Db::query("select * from banner_item where banner_id=?",[$id]);

        //2.查询构造器
//        $result = db(self::TABLE_BANNER_ITEM)
//            ->where('banner_id', '=', $id)
//            ->select();

        // 3.ORM模型 Object Relation Mapping 对象关系映射
        return self::with(['items', 'items.img'])->find($id);
    }
}